The invention relates generally to PSK-modulated space-time codes and more specifically to using fundamental code constructions for quasi-static and time-varying channels to provide full spatial diversity for an arbitrary number of transmit antennas.
Recent advances in coding theory include space-time codes which provide diversity in multi-antenna systems over fading channels with channel coding across a small number of transmit antennas. For wireless communication systems, a number of challenges arise from the harsh RF propagation environment characterized by channel fading and co-channel interference (CCI). Channel fading can be attributed to diffuse and specular multipath, while CCI arises from reuse of radio resources. Interleaved coded modulation on the transmit side of the system and multiple antennas on the receive side are standard methods used in wireless communication systems to combat time-varying fading and to mitigate interference. Both are examples of diversity techniques.
Simple transmit diversity schemes (in which, for example, a delayed replica of the transmitted signal is retransmitted through a second, spatially-independent antenna and the two signals are coherently combined at the receiver by a channel equalizer) have also been considered within the wireless communications industry as a method to combat multipath fading. From a coding perspective, such transmit diversity schemes amount to repetition codes and encourage consideration of more sophisticated code designs. Information-theoretic studies have demonstrated that the capacity of multi-antenna systems significantly exceeds that of conventional single-antenna systems for fading channels. The challenge of designing channel codes for high capacity multi-antenna systems has led to the development of xe2x80x9cspace-time codes,xe2x80x9d in which coding is performed across the spatial dimension (e.g, antenna channels) as well as time. The existing body of work on space-time codes relates to trellis codes and a block coded modulation scheme based on orthogonal designs. Example code designs that achieve full diversity for systems with only a small number of antennas (L=2 and 3) are known for both structures, with only a relatively small number of space-time codes being known. Thus, a need exists for a methodology of generating and using code constructions which allow systematic development of powerful space-time codes such as general constructions that provide full diversity in wireless systems with a large number of antennas.
The main concepts of space-time coding for quasi-static, flat Rayleigh fading channels and the prior knowledge as to how to design them will now be discussed. For the purpose of discussion, a source generates k information symbols from the discrete alphabet X, which are encoded by the error control code C to produce code words of length N=nLt over the symbol alphabet Y. The encoded symbols are parsed among Lt transmit antennas and then mapped by the modulator into constellation points from the discrete complex-valued signaling constellation xcexa9 for transmission across a channel. The modulated streams for all antennas are transmitted simultaneously. At the receiver, there are Lr receive antennas to collect the incoming transmissions. The received baseband signals are subsequently decoded by the space-time decoder. Each spatial channel (the link between one transmit antenna and one receive antenna) is assumed to experience statistically independent flat Rayleigh fading. Receiver noise is assumed to be additive white Gaussian noise (AWGN). A space-time code consists as discussed herein preferably of an underlying error control code together with the spatial parsing format.
Definition 1 An Lxc3x97n space-time code  of size M consists of an (Ln,M) error control code C and a spatial parser a that maps each code word vector {overscore (c)} xcex5C to an Lxc3x97n matrix c whose entries are a rearrangement of those of {overscore (c)}. The space-time code  is said to be linear if both C and "sgr" are linear.
Except as noted to the contrary, a standard parser is assumed which maps
{overscore (c)}=(c11, c12, . . . ,c1Lt, c21,c22, . . . ,c2Lt, . . . ,cn1,cn2, . . . ,cnLt)xcex5C
to the matrix   c  =            [                                                  c              1              1                                                          c              2              1                                            …                                              c              n              1                                                                          c              1              2                                                          c              2              2                                            …                                              c              n              2                                                            ⋮                                ⋮                                ⋰                                ⋮                                                              c              1                              L                t                                                                        c              2                              L                t                                                          …                                              c              n                              L                t                                                        ]        .  
In this notation, it is understood that cti is the code symbol assigned to transmit antenna i at time t.
Let f:yxe2x86x92xcexa9 be the modulator mapping function. Then s=f(c) is the baseband version of the code word as transmitted across the channel. For this system, the following baseband model of the received signal is presented:                                           y            t            j                    =                                                    ∑                                  i                  =                  1                                                  L                  t                                            ⁢                              xe2x80x83                            ⁢                                                α                  ij                                ⁢                                  xe2x80x83                                ⁢                                  s                  t                  i                                ⁢                                  xe2x80x83                                ⁢                                                      E                    s                                                                        +                          n              t              j                                      ,                            (        1        )            
where ytj is the signal received at antenna j at time t; xcex1ij is the complex path gain from transmit antenna i to receive antenna j; sti=f(cti) is the transmitted constellation point corresponding to cti; and ntj is the AWGN noise sample for receive antenna j at time t. The noise samples are independent samples of a zero-mean complex Gaussian random variable with variance N0/2 per dimension. The fading channel is quasi-static in the sense that, during the transmission of n code word symbols across any one of the links, the complex path gains do not change with time t, but are independent from one code word transmission to the next. In matrix notation,
{overscore (Y)}={square root over (E)}s{overscore (A)}Dc+{overscore (N)},xe2x80x83xe2x80x83(2)
where             Y      _        =          [                                                  y              1              1                                                          y              2              1                                            …                                              y              n              1                                                          y              1              2                                                          y              2              2                                            …                                              y              n              2                                            …                                              y              1                              L                r                                                                        y              2                              L                r                                                          …                                              y              n                              L                r                                                        ]        ,      
    ⁢            N      _        =          [                                                  n              1              1                                                          n              2              1                                            …                                              n              n              1                                                          n              1              2                                                          n              2              2                                            …                                              n              n              2                                            …                                              n              1                              L                r                                                                        n              2                              L                r                                                          …                                              n              n                              L                r                                                        ]        ,      
    ⁢            A      _        =          [                                                  α              11                                                          α              21                                            …                                              α                                                L                  t                                ⁢                                  xe2x80x83                                ⁢                1                                                                        α              12                                                          α              22                                            …                                              α                                                L                  t                                ⁢                                  xe2x80x83                                ⁢                2                                                          …                                              α                              1                ⁢                                  L                  r                                                                                        α                              2                ⁢                                  L                  r                                                                          …                                              α                                                L                  t                                ⁢                                  xe2x80x83                                ⁢                                  L                  r                                                                        ]        ,      
    ⁢            D      c        =                            [                                                                      f                  ⁢                                      xe2x80x83                                    ⁢                                      (                    c                    )                                                                              0                                            …                                            0                                                                    0                                                              f                  ⁢                                      xe2x80x83                                    ⁢                                      (                    c                    )                                                                              …                                            0                                                                    ⋮                                            ⋰                                            ⋰                                            0                                                                    0                                            0                                            …                                                              f                  ⁢                                      xe2x80x83                                    ⁢                                      (                    c                    )                                                                                ]                                      L            r                    ⁢                      xe2x80x83                    ⁢                      L            t                    xc3x97                      L            r                    ⁢                      xe2x80x83                    ⁢          n                    .      
Let code word c be transmitted. Then the pairwise error probability that the decoder prefers the alternate code word e to c is given by
P(cxe2x86x92e|{xcex1ij})=P(V less than 0|{xcex1ij}),
where V=||{overscore (A)}(Dcxe2x88x92Dc)+{overscore (N)}||2xe2x88x92||{overscore (N)}||2 is a Gaussian random variable with mean E{V}=||{overscore (A)}(Dcxe2x88x92De)||2 and variance Var{V}=2N0E{V}. Thus,                               P          ⁢                      xe2x80x83                    ⁢                      (                                          V                 less than                 0                            |                              {                                  α                  ij                                }                                      )                          =                  Q          ⁢                      xe2x80x83                    ⁢                      (                                          "LeftDoubleBracketingBar"                                                      A                    _                                    ⁢                                      xe2x80x83                                    ⁢                                      (                                                                  D                        c                                            -                                              D                        e                                                              )                                                  "RightDoubleBracketingBar"                                                              2                  ⁢                                      N                    0                                                                        )                                              (        3        )                                          xe2x80x83                ⁢                  ≤                                    1              2                        ⁢                          xe2x80x83                        ⁢            exp            ⁢                                          {                                                      -                                          1                                              4                        ⁢                                                  N                          0                                                                                                      ⁢                                                            "LeftDoubleBracketingBar"                                                                        A                          _                                                ⁢                                                  xe2x80x83                                                ⁢                                                  (                                                                                    D                              c                                                        -                                                          D                              e                                                                                )                                                                    "RightDoubleBracketingBar"                                        2                                                  }                            .                                                          (        4        )            
For the quasi-static, flat Rayleigh fading channel, equation (4) can be manipulated to yield the fundamental bound:                               P          ⁢                      xe2x80x83                    ⁢                      (                                          c                →                e                            |                              {                                  α                  ij                                }                                      )                          ≤                              (                          1                                                ∏                                      i                    =                    1                                    r                                ⁢                                  xe2x80x83                                ⁢                                  (                                      1                    +                                                                  λ                        i                                            ⁢                                              xe2x80x83                                            ⁢                                                                        E                          s                                                /                        4                                            ⁢                                              N                        0                                                                              )                                                      )                                L            r                                              (        5        )                                          xe2x80x83                ⁢                              ≤                                          (                                                      η                    ⁢                                          xe2x80x83                                        ⁢                                          E                      s                                                                            4                    ⁢                                          N                      0                                                                      )                                            -                                  rL                  r                                                              ,                                    (        6        )            
where r=rank(f(c)xe2x88x92f(e)) and xcex7=(xcex1xcex2 . . . xcexr)1/r is the geometric mean of the nonzero eigenvalues of A=(f(c)xe2x88x92f(e))(f(c)xe2x88x92f(e))H.
This leads to the rank and equivalent product distance criteria for space-time codes.
(1) Rank Criterion: Maximize the diversity advantage r=rank(f(c)xe2x88x92f(e)) over all pairs of distinct code words c, e xcex5, and
(2) Product Distance Criterion: Maximize the coding advantage xcex7=(xcex1xcex2 . . . xcexr)1/r over all pairs of distinct code words c, e xcex5.
The rank criterion is the more important of the two criteria as it determines the asymptotic slope of the performance curve as a function of Es/N0. The product distance criterion is preferably of secondary importance and is ideally optimized after the diversity advantage is maximized. For an Lxc3x97n space-time code , the maximum possible rank is L. Consequently, full spatial diversity is achieved if all baseband difference matrices corresponding to distinct code words in  have full rank L.
Simple design rules for space-time trellis codes have been proposed for L=2 spatial diversity as follows:
Rule 1. Transitions departing from the same state differ only in the second symbol.
Rule 2. Transitions merging at the same state differ only in the first symbol. When these rules are followed, the code word difference matrices are of the form             f      ⁢              xe2x80x83            ⁢              (        c        )              -          f      ⁢              xe2x80x83            ⁢              (        e        )              =      [          ⋯      ⁢                                                  x              1                                                            0                              ⁢      ⋯      ⁢                                    0                                                              x              2                                          ⁢      ⋯        ]  
with x1, x2 nonzero complex numbers. Thus, every such difference matrix has full rank, and the space-time code achieves 2-level spatial diversity. Two good codes that satisfy these design rules, and a few others that do not, have been handcrafted using computer search methods.
The concept of xe2x80x9czeroes symmetryxe2x80x9d has been introduced as a generalization of the above-referenced design rules for higher levels of diversity Lxe2x89xa72. A space-time code has zeroes symmetry if every baseband code word difference f(c)xe2x88x92f(e) is upper and lower triangular (and has appropriate nonzero entries to ensure full rank). The zeroes symmetry property is sufficient for full rank but not necessary; nonetheless, it is useful in constraining computer searches for good space-time codes.
Results of a computer search undertaken to identify full diversity space-time codes with best possible coding advantage have been presented. A small table of short constraint length space-time trellis codes that achieve full spatial diversity (L=2, 3, and 5 for BPSK modulation; L=2 for QPSK modulation) is available. Difficulties, however, are encountered when evaluating diversity and coding advantages for general space-time trellis codes. As a general space-time code construction, delay diversity schemes are known to achieve full diversity for all Lxe2x89xa72 with the fewest possible number of states.
A computer search similar to the above-referenced computer search has identified optimal L=2 QPSK space-time trellis codes of short constraint length. The results agree with the previous results regarding the optimal product distances but the given codes have different generators, indicating that, at least for L=2, there is a multiplicity of optimal codes.
A simple transmitter diversity scheme for two antennas has been introduced which provides 2-level diversity gain with modest decoder complexity. In this scheme, independent signalling constellation points x1, x2 are transmitted simultaneously by different transmit antennas during a given symbol interval. On the next symbol interval, the conjugated signals xe2x88x92x2* and x1* are transmitted by the respective antennas. This scheme has the property that the two transmissions are orthogonal in both time and the spatial dimension.
The Hurwitz-Radon theory of real and complex orthogonal designs are a known generalization this scheme to multiple transmit antennas. Orthogonal designs, however, are not space-time codes as defined herein since, depending on the constellation, the complex conjugate operation that is essential to these designs may not have a discrete algebraic interpretation. The complex generalized designs for L=3 and 4 antennas also involve division by {square root over (2)}.
To summarize, studies on the problem of signal design for transmit diversity systems have led to the development of the fundamental performance parameters for space-time codes over quasi-static fading channels such as: (1) diversity advantage, which describes the exponential decrease of decoded error rate versus signal-to-noise ratio (asymptotic slope of the performance curve on a log-log scale); and (2) coding advantage, which does not affect the asymptotic slope but results in a shift of the performance curve. These parameters are, respectively, the minimum rank and minimum geometric mean of the nonzero eigenvalues among a set of complex-valued matrices associated with the differences between baseband modulated code words. A small number of interesting, handcrafted trellis codes for two antenna systems have been presented which provide maximum 2-level diversity advantage and good coding advantage.
One of the fundamental difficulties of space-time codes, which has so far hindered the development of more general results, is the fact that the diversity and coding advantage design criteria apply to the complex domain of baseband modulated signals, rather than to the binary or discrete domain in which the underlying codes are traditionally designed. Thus, a need also exists for binary rank criteria for generating BPSK and QPSK-modulated space-time codes.
The present invention overcomes the disadvantages of known trellis codes generated via design rules having very simple structure. In accordance with the present invention, more sophisticated codes are provided using a method involving design rules selected in accordance with the preferred embodiment of the present invention. These codes are straightforward to design and provide better performance than the known codes. The present invention also provides a significant advance in the theory of space-time codes, as it provides a code design method involving a powerful set of design rules in the binary domain. Current design criteria are in the complex baseband domain, and the best code design rules to date are ad hoc with limited applicability.
The present invention further provides a systematic method, other than the simple delay diversity, of designing space-time codes to achieve full diversity for arbitrary numbers of antennas. The performance of space-time codes designed in accordance with the methodology and construction of the present invention exceed that of other known designs.
Briefly summarized, the present invention relates to the design of space-time codes to achieve full spatial diversity over fading channels. A general binary design criteria for phase shift keying or PSK-modulated space-time codes is presented. For linear binary PSK (BPSK) codes and quadrature PSK (QPSK) codes, the rank (i.e., binary projections) of the unmodulated code words, as binary matrices over the binary field, is a design criterion. Fundamental code constructions for both quasi-static and time-varying channels are provided in accordance with the present invention.
A communication method in accordance with an embodiment of the present invention comprises the steps of generating information symbols for data block frames of fixed length, encoding the generated information symbols with an underlying error control code to produce the code word symbols, parsing the produced code word symbols to allocate the symbols in a presentation order to a plurality of antenna links, mapping the parsed code word symbols onto constellation points from a discrete complex-valued signaling constellation, transmitting the modulated symbols across a communication channel with the plurality of antenna links, providing a plurality of receive antennas at a receiver to collect incoming transmissions and decoding received baseband signals with a space-time decoder.